package Array;

import java.util.Arrays;

public class p1365有多少小于当前数字的数字 {
    public int[] smallerNumbersThanCurrent(int[] nums) {
        int[] hash = new int[101];
        int[] vec = new int[nums.length];
        System.arraycopy(nums, 0, vec, 0, nums.length);
        // 对nums排序
        Arrays.sort(nums);
        for(int i = nums.length - 1; i >= 0; i--){
            // 哈希表中当前元素的下标等于当前元素的排名
            // 从后向前遍历得到相同元素的最后一个排名
            hash[nums[i]] = i;
        }
        for(int i = 0; i < nums.length; i++){
            nums[i] = hash[vec[i]];
        }
        return nums;
    }
}
